package com.codeoss.module.account.service;

import java.math.BigDecimal;

import com.codeoss.framework.service.IBaseService;
import com.codeoss.module.account.model.AccountInvoice;

public interface IAccountInvoiceService extends IBaseService<AccountInvoice> {
public BigDecimal calculateAmountTotal(Long id);
	
	public BigDecimal calculateAmountUntaxed(Long id);
	
	public BigDecimal calculateAmountTax(Long id);
	
    public AccountInvoice generateInvoiceFromSaleOrder(Long saleOrderId);
	
	public AccountInvoice generateInvoiceFromPurchaseOrder(Long purchaseOrderId);
	
	public AccountInvoice generateInvoiceFromStockOut(Long stockOutId);
	
	public AccountInvoice generateInvoiceFromStockIn(Long stockInId);
	
    public void prepareIt(Long id);
	
    public void approveIt(Long id);
	
	public void rejectIt(Long id);
	
    public void completeIt(Long id);
	
	public void setDocStatus(Long id,String docStatus);
}